1. Technical Field
The present invention relates to a virtual machine control device, a virtual machine control method, and a virtual machine control program configured to control the execution of a plurality of virtual machines on a single physical computing machine, and more particularly, to a virtual machine control device, a virtual machine control method, and a virtual machine control program configured to switch a plurality of virtual machines.
2. Background Art
In order to meet the performance upgrade of micro processors, a virtual technique of executing a plurality of virtual machines (virtual computing machines achieved by software) on a single physical computing machine is used as a technique of utilizing hardware efficiently. Hereinafter, the physical computing machine is referred to as an information processor.
For an embedded device like a household electrical appliance, it is required to satisfy both the multi-functionality, such as GUI (Graphical User Interface) and multimedia processing, and the real time performance, such as device control and synchronous communications. Two types of processing are satisfied by executing a virtual machine fitted for the multi-functionality, such as multi-media processing, and a virtual machine fitted for the real time performance while switching one from the other on a single information processor.
As a method of switching virtual machines in the related art, there is a method by which a virtual machine having an OS (Operating System) with emphasis on the real time performance is executed preferentially and a virtual machine currently in operation is switched to another virtual machine while this OS is in an idle state. Also, there is a method by which fixed priorities are assigned to a plurality of virtual machines and virtual machines are scheduled using the priorities.
According to the method of always putting a virtual machine having an OS with emphasis on the real time performance ahead of the others, even when important processing is generated in another virtual machine, this important processing cannot be performed immediately. Also, according to the method of scheduling virtual machines using the fixed priorities, it is difficult to perform processing with emphasis on the real time performance using more than one virtual machine.
As a method in the related art to solve this problem, there is a technique of changing priorities of the virtual machines according to the processing to be performed (for example, see Patent Literature 1). More specifically, in the related art, priorities of tasks to be executed by the respective virtual machines are set to the priorities of the corresponding virtual machines. Priorities of tasks are values used for the task scheduling by the OS. In a case where a given virtual machine is to execute a task having a higher priority, the priority of this virtual machine also becomes higher. Hence, the switching to the virtual machine having a higher priority takes place and the task with a higher priority is executed.
According to the configuration in the related art, however, a virtual machine (OS) currently in execution is suspended each time the task scheduling is performed by the OS and an OS switching program that controls the switching of a plurality of virtual machines is run to determine a virtual machine to be executed next. In other words, the related art has a problem that even in a case where the processing returns to the same suspended virtual machine, processing to suspend and resume the virtual machine is generated.